<script setup lang="ts">
import * as echarts from 'echarts'
import { ref, onMounted } from 'vue'
// 获取图形图表的节点
let line = ref()
onMounted(() => {
    let mycharts = echarts.init(line.value)
    // 设置配置项
    mycharts.setOption({
        // x|y轴
        xAxis: {
            type: 'category',
            // x轴两侧不留白
            boundaryGap: false,
            // 分割线不要
            splitLine: {
                show: false
            },
            data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
            // 刻度
            axisTick: {
                show: true
            }
        },
        yAxis: {
            // 分割线不要
            splitLine: {
                show: false
            },
            axisLine: {
                show: true
            },
            // 刻度
            axisTick: {
                show: true
            }
        },
        //grid 配置项用于定义直角坐标系（如折线图、柱状图等）的布局区域，它决定了图表的主绘图区域（坐标系）在容器中的位置和大小
        // left: 0：绘图区紧贴容器左侧,top: 0：绘图区紧贴容器顶部,right: 0：绘图区紧贴容器右侧,bottom: 0：绘图区紧贴容器底部,绘图区域占满整个容器，不留任何空白边距
        // 所有基于直角坐标系的组件（如 xAxis、yAxis、系列数据点）都会被限制在这个 grid 区域内绘制
        grid: {
            left: 40,
            top: 0,
            right: 20,
            bottom: 20
        },
        // 系列
        series: [
            {
                type: 'line',
                data: [120, 1240, 66, 2299, 321, 890, 1200],
                // 平滑曲线的设置
                smooth: true,
                // 区域填充样式
                areaStyle: {
                    color: {
                        type: 'linear',
                        x: 0,
                        y: 0,
                        x2: 0,
                        y2: 1,
                        colorStops: [{
                            offset: 0, color: 'yellow'  // 0%处的颜色
                        }, {
                            offset: 1, color: '#17F5FF'  // 100%处的颜色
                        }],
                        global: false,  // 缺省为false
                        
                    }
                }
            }
        ]
    })
})
</script>

<template>
    <div class="box5">
        <div class="title">
            <p>未来7天游客量趋势图</p>
            <img src="../../images/dataScreen-title.png" alt="">
        </div>
        <div class="charts" ref="line"></div>
    </div>
</template>

<style lang="scss" scoped>
.box5 {
    // 父组件中给Line设置了flex=1，所以这里width:100%就是flex=1所占的宽度，高度同理
    width: 100%;
    height: 100%;
    background: url(../../images/dataScreen-main-cb.png) no-repeat;
    background-size: 100% 100%;
    margin: 0px 20px;

    .title {
        margin-left: 10px;

        p {
            color: white;
            font-size: 20px;
        }

        img {
            margin-top: 10px;
        }
    }

    .charts {
        height: calc(100% - 40px);
    }
}
</style>